import store from '@/store';
import Vue from 'vue'
import VueRouter from 'vue-router'
// import HomeView from '../views/HomeView.vue'

// 把这段代码直接粘贴到router/index.js中的Vue.use(VueRouter)之前
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function (location) {
  return originalPush.call(this, location).catch(err => { })
};

Vue.use(VueRouter)




const routes = [
  {
    path: '/',
    redirect: "/home"
  },
  {
    path: '/free',
    name: 'Free',
    component: () => import('../views/free.vue')
  },
  {
    path: '/goods',
    name: 'Goods',
    component: () => import('../views/goods.vue')
  },
  {
    path: '/home',
    name: 'Home',
    component: () => import('../views/home.vue')
  },
  {
    path: '/order',
    name: 'Order',
    component: () => import('../views/order.vue')
  },
  {
    path: '/user',
    name: 'User',
    component: () => import('../views/user.vue'),
    redirect: 'user/cart',
    children: [
      { path: 'cart', component: () => import('../components/user/cart.vue'), }
    ]
    // beforeEach: (to, from, next) => {
    //   // to Route 即将要进入的目标 （目标地址）
    //   // from：Route 当前导航要离开的路由 （当前离开的地址）
    //   // next Function：一定要调用该方法来resolve这个钩子
    //   console.log("路由守卫独享")
    //   // 需求：只有登录了的用户，才可以打开个人中心页面
    //   let token = localStorage.getItem("x-auth-token")
    //   if (token) {
    //     next()
    //   } else {
    //     // alert("请先登录")
    //     store.dispatch("showToast/asyncShowToast", {
    //       isShow: true,
    //       title: "请先登录",
    //       type: "danger"
    //     })
    //   }
    // }

  },
  {
    path: '/details',
    name: 'details',
    component: () => import('../views/details.vue')
  },
  {
    path: '*',
    component: () => import('../views/error.vue')
  },

]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

// 路由全局前置守卫
// router.beforeEach((to, from, next) => {
//   // to Route 即将要进入的目标 （目标地址）
//   // from：Route 当前导航要离开的路由 （当前离开的地址）
//   // next Function：一定要调用该方法来resolve这个钩子
//   console.log("守卫", to, from);
//   // 需求：只有登录了的用户，才可以打开个人中心页面
//   if (to.path == "/user") {
//     let token = localStorage.getItem("x-auth-token")
//     if (token) {
//       next()
//     } else {
//       // alert("请先登录")
//       store.dispatch("showToast/asyncShowToast", {
//         isShow: true,
//         title: "请先登录",
//         type: "danger"
//       })
//     }
//   } else {
//     next()
//   }

// })

export default router
